/**
 *  Copyright (C) 2023 - Fake Inc.
 *
 *  All Rights Reserved.

 */

#include "fake_inno_log_cpp.h"

namespace Fake {

static void testlog() {
  uint32_t test1{123};
  const std::string test2{"abc"};
  double test3{456.0};

  inno_log_info("11 test:%d:%s-%f", test1, test2.data(), test3);
  inno_log_debug("22 test:%d:%s-%f", test1, test2.data(), test3);
  inno_log_error("22 test:%d:%s-%f", test1, test2.data(), test3);
  inno_log_verify((test3 > 1000.0), "%s", "33 not oK");
  inno_log_panic("44 test:%d:%s-%f", test1, test2.data(), test3);
}

}  // namespace Fake

int32_t main() {
  int32_t main_res{0};  // Initialize with a default value

  try {
    Fake::testlog();

    main_res = 0;  // Successful execution
  } catch (...) {
    std::cerr << "Exception occurred" << std::endl;
    main_res = 1;  // Exception occurred
  }

  return main_res;  // Single point of exit
}
